Package edu.claflin.finder.algo
Class DepthFirstTraversalSearch
- java.lang.Object
-
- edu.claflin.finder.algo.Algorithm
-
- edu.claflin.finder.algo.DepthFirstTraversalSearch
-
- All Implemented Interfaces:
Processable<Graph,Graph>
public class DepthFirstTraversalSearch extends Algorithm
Processes aGraphsearching for bipartite subgraphs by performing a depth first search on each node.- Version:
- 3.4 February 4, 2016
- Author:
- Charles Allen Schultz II
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class edu.claflin.finder.algo.Algorithm
Algorithm.GraphSortOrder
-
-
Field Summary
-
Fields inherited from class edu.claflin.finder.algo.Algorithm
args, counter, listener, PROP_PROGRESS
-
-
Constructor Summary
Constructors Constructor Description DepthFirstTraversalSearch(ArgumentsBundle bundle)Public constructor for initializing the DepthFirstTraversalSearch with default conditions.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.ArrayList<Graph>process(Graph graph)Processes data.private GraphsearchNode(Graph graph, Graph subGraph, Node node, java.util.List<Node> visited)Helper method to search for the SubGraphs in Depth First search.-
Methods inherited from class edu.claflin.finder.algo.Algorithm
addPropertyChangeListener, cull, getGraphSortOrder, getPartiteNumber, removePropertyChangeListener, setGraphSortOrder, setPartiteNumber, setProgress
-
-
-
-
Constructor Detail
-
DepthFirstTraversalSearch
public DepthFirstTraversalSearch(ArgumentsBundle bundle)
Public constructor for initializing the DepthFirstTraversalSearch with default conditions.- Parameters:
bundle- the ArgumentsBundle containing the instantiation arguments.
-
-
Method Detail
-
process
public java.util.ArrayList<Graph> process(Graph graph)
Processes data.
Finds most Subgraphs by performing a depth first search on the node tree. It is unknown if it finds all or only most of the subgraphs due to the nature of the algorithm. It is expected, however, that it would miss certain node groupings.- Parameters:
graph- theGraphobject to search through.- Returns:
- the ArrayList of Graph objects holding all found subgraphs.
-
searchNode
private Graph searchNode(Graph graph, Graph subGraph, Node node, java.util.List<Node> visited)
Helper method to search for the SubGraphs in Depth First search. Loops recursively to search for subgraphs. Is called on each node in the tree.- Parameters:
graph- the Graph object to search through.subGraph- the Graph object indicating the subgraph to store found nodes and edges in. (Used due to the recursive nature of the algorithm.)node- the current node to search.visited- the List containing the visited nodes.- Returns:
- the Graph object representing the found subgraph.
-
-